package com.smcdd.cdb.dbo.cdb_dbo.ui.utils;

import android.text.TextUtils;

import java.security.acl.Group;
import java.util.ArrayList;
import java.util.regex.Pattern;

/**
 * 作者：Administrator on 2017/7/21 10:05
 * 邮箱：zhanghuaiha@gmail.com
 */

public class LocalGroupSearch {
    /**
     * 按群号-群名拼音搜索
     *
     * @param str
     */
//    public static ArrayList<Group> searchGroup(CharSequence str, ArrayList<Group> allContacts) {
//        ArrayList<Group> groupList = new ArrayList<Group>();
//        // 如果搜索条件以0 1 +开头则按号码搜索
//        if (str.toString().startsWith("0") || str.toString().startsWith("1")
//                || str.toString().startsWith("+")) {
//            for (Group group : allContacts) {
//                if (getGroupName(group) != null
//                        && group.getRoomid() + "" != null) {
//                    if ((group.getRoomid() + "").contains(str)
//                            || group.getNaturalName().contains(str)) {
//                        groupList.add(group);
//                    }
//                }
//            }
//            return groupList;
//        }
//        CharacterParser finder = CharacterParser.getInstance();
//
//        String result = "";
//        for (Group group : allContacts) {
//            // 先将输入的字符串转换为拼音
//            finder.setResource(str.toString());
//            result = finder.getSpelling();
//            if (contains(group, result)) {
//                groupList.add(group);
//            } else if ((group.getRoomid() + "").contains(str)) {
//                groupList.add(group);
//            }
//        }
//        return groupList;
//    }
//
//    /**
//     * 根据拼音搜索
//     *
//     * @param str
//     *            正则表达式
//     * @param pyName
//     *            拼音
//     * @param isIncludsive
//     *            搜索条件是否大于6个字符
//     * @return
//     */
//    private static boolean contains(Group group, String search) {
//        if (TextUtils.isEmpty(group.getNaturalName())
//                && TextUtils.isEmpty(group.getRoomName())) {
//            return false;
//        }
//
//        boolean flag = false;
//
//        // 简拼匹配,如果输入在字符串长度大于6就不按首字母匹配了
//        if (search.length() < 6) {
//            String firstLetters = FirstLetterUtil
//                    .getFirstLetter(getGroupName(group));
//            // 不区分大小写
//            Pattern firstLetterMatcher = Pattern.compile(search,
//                    Pattern.CASE_INSENSITIVE);
//            flag = firstLetterMatcher.matcher(firstLetters).find();
//        }
//
//        if (!flag) { // 如果简拼已经找到了，就不使用全拼了
//            // 全拼匹配
//            CharacterParser finder = CharacterParser.getInstance();
//            finder.setResource(getGroupName(group));
//            // 不区分大小写
//            Pattern pattern2 = Pattern
//                    .compile(search, Pattern.CASE_INSENSITIVE);
//            Matcher matcher2 = pattern2.matcher(finder.getSpelling());
//            flag = matcher2.find();
//        }
//
//        return flag;
//    }
//
//    private static String getGroupName(Group group) {
//        String strName = null;
//        if (!TextUtils.isEmpty(group.getNaturalName())) {
//            strName = group.getNaturalName();
//        } else if (!TextUtils.isEmpty(group.getRoomName())) {
//            strName = group.getRoomName();
//        } else {
//            strName = "";
//        }
//
//        return strName;
//    }
}
